package com.dupt.system.service;

import java.util.List;
import com.dupt.system.domain.MaterialBillMain;
import com.dupt.system.domain.param.MaterialBillMainParam;
import com.dupt.system.domain.vo.MaterialBillMainVo;

/**
 * 物料清单主Service接口
 * 
 * @author zhuanyu.sun
 * @date 2025-06-15
 */
public interface IMaterialBillMainService
{
    /**
     * 查询物料清单主
     * 
     * @param materialBillMainId 物料清单主主键
     * @return 物料清单主
     */
    public MaterialBillMain selectMaterialBillMainByMaterialBillMainId(String materialBillMainId);

    /**
     * 查询物料清单主列表
     * 
     * @param materialBillMainParam 物料清单主
     * @return 物料清单主集合
     */
    public List<MaterialBillMainVo> selectMaterialBillMainList(MaterialBillMainParam materialBillMainParam );

    /**
     * 新增物料清单主
     * 
     * @param materialBillMain 物料清单主
     * @return 结果
     */
    public int insertMaterialBillMain(MaterialBillMain materialBillMain);

    /**
     * 修改物料清单主
     * 
     * @param materialBillMain 物料清单主
     * @return 结果
     */
    public int updateMaterialBillMain(MaterialBillMain materialBillMain);

    /**
     * 批量删除物料清单主
     * 
     * @param materialBillMainIds 需要删除的物料清单主主键集合
     * @return 结果
     */
    public int deleteMaterialBillMainByMaterialBillMainIds(String[] materialBillMainIds);

    /**
     * 删除物料清单主信息
     * 
     * @param materialBillMainId 物料清单主主键
     * @return 结果
     */
    public int deleteMaterialBillMainByMaterialBillMainId(Long materialBillMainId);

    /**
     * 根据物料ID查询物料清单
     * @param materialDetialId
     * @return
     */
    public MaterialBillMain selectMaterialBillMainByMaterialModeId(String materialDetialId);

    /**
     * 根据物料采集ID查询物料清单
     * @param materialCollectId
     * @return
     */
    public MaterialBillMain selectMaterialBillMainByMaterialCollectId(Long materialCollectId);
}
